/**
 * Copyright (c) 2018-2028, Joffee.
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.sailmi.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.util.Date;
import java.util.Objects;

import com.baomidou.mybatisplus.annotation.TableField;
import com.sailmi.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 用户表实体类
 *
 * @author sailmi
 * @since 2020-08-26
 */
@Schema(name = "UcsAccountuser对象", description = "用户表")
public class UcsAccountuser  extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Schema(name = "主键")
    @TableId(value = "id", type = IdType.AUTO)
  private Long id;
	/**
	 * 短信验证码code
	 */
	@Schema(name = "验证码")
	private String code;
    /**
     * 用户昵称
     */
    @Schema(name = "用户昵称")
    private String username;
    /**
     * 账号
     */
    @Schema(name = "账号")
    @TableField("loginName")
  private String loginName;
    /**
     * 密码
     */
    @Schema(name = "密码")
    private String password;
    /**
     * 真名
     */
    @Schema(name = "真名")
    private String realName;
    /**
     * 邮箱
     */
    @Schema(name = "邮箱")
    @TableField("userEmail")
  private String userEmail;
    /**
     * 手机
     */
    @Schema(name = "手机")
    @TableField("userPhone")
  private String userPhone;
    /**
     * 生日
     */
    @Schema(name = "生日")
    @TableField("userBrithday")
  private Date userBrithday;
    /**
     * 性别
     */
    @Schema(name = "性别")
    @TableField("userSex")
  private Integer userSex;
    /**
     * 实名认证状态:1已认证，0未认证
     */
    @Schema(name = "实名认证状态:1已认证，0未认证")
    @TableField("realStatus")
  private String realStatus;
    /**
     * 上次登陆时间
     */
    @Schema(name = "上次登陆时间")
    @TableField("lastLogin")
  private String lastLogin;
    /**
     * 企业认证状态:1已认证，0未认证
     */
    @Schema(name = "企业认证状态:1已认证，0未认证")
    @TableField("enterpriseStatus")
  private String enterpriseStatus;
    /**
     * 安全凭证
     */
    @Schema(name = "安全凭证")
    @TableField("safeCode")
  private String safeCode;
    /**
     * 手机认证:0未认证,1已认证
     */
    @Schema(name = "手机认证:0未认证,1已认证")
    @TableField("phoneSta")
  private String phoneSta;
    /**
     * 邮箱认证:0未认证,1已认证
     */
    @Schema(name = "邮箱认证:0未认证,1已认证")
    @TableField("emailSta")
  private String emailSta;
    /**
     * 账户完善信息:0未完成,1已完成
     */
    @Schema(name = "账户完善信息:0未完成,1已完成")
    @TableField("infoSta")
  private String infoSta;
    /**
     * 上次登陆的企业ID
     */
    @Schema(name = "上次登陆的企业ID")
    @TableField("lastEnterpriseId")
  private Long lastEnterpriseId;
	/**
	 * 头像
	 */
	@TableField("headImgUrl")
	@Schema(name = "用户头像")
  private String headImgUrl;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	public String getUserEmail() {
		return userEmail;
	}

	public void setUserEmail(String userEmail) {
		this.userEmail = userEmail;
	}

	public String getUserPhone() {
		return userPhone;
	}

	public void setUserPhone(String userPhone) {
		this.userPhone = userPhone;
	}

	public Date getUserBrithday() {
		return userBrithday;
	}

	public void setUserBrithday(Date userBrithday) {
		this.userBrithday = userBrithday;
	}

	public Integer getUserSex() {
		return userSex;
	}

	public void setUserSex(Integer userSex) {
		this.userSex = userSex;
	}

	public String getRealStatus() {
		return realStatus;
	}

	public void setRealStatus(String realStatus) {
		this.realStatus = realStatus;
	}

	public String getLastLogin() {
		return lastLogin;
	}

	public void setLastLogin(String lastLogin) {
		this.lastLogin = lastLogin;
	}

	public String getEnterpriseStatus() {
		return enterpriseStatus;
	}

	public void setEnterpriseStatus(String enterpriseStatus) {
		this.enterpriseStatus = enterpriseStatus;
	}

	public String getSafeCode() {
		return safeCode;
	}

	public void setSafeCode(String safeCode) {
		this.safeCode = safeCode;
	}

	public String getPhoneSta() {
		return phoneSta;
	}

	public void setPhoneSta(String phoneSta) {
		this.phoneSta = phoneSta;
	}

	public String getEmailSta() {
		return emailSta;
	}

	public void setEmailSta(String emailSta) {
		this.emailSta = emailSta;
	}

	public String getInfoSta() {
		return infoSta;
	}

	public void setInfoSta(String infoSta) {
		this.infoSta = infoSta;
	}

	public Long getLastEnterpriseId() {
		return lastEnterpriseId;
	}

	public void setLastEnterpriseId(Long lastEnterpriseId) {
		this.lastEnterpriseId = lastEnterpriseId;
	}

	public String getHeadImgUrl() {
		return headImgUrl;
	}

	public void setHeadImgUrl(String headImgUrl) {
		this.headImgUrl = headImgUrl;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (!(o instanceof UcsAccountuser that)) return false;
		return Objects.equals(id, that.id) && Objects.equals(code, that.code) && Objects.equals(username, that.username) && Objects.equals(loginName, that.loginName) && Objects.equals(password, that.password) && Objects.equals(realName, that.realName) && Objects.equals(userEmail, that.userEmail) && Objects.equals(userPhone, that.userPhone) && Objects.equals(userBrithday, that.userBrithday) && Objects.equals(userSex, that.userSex) && Objects.equals(realStatus, that.realStatus) && Objects.equals(lastLogin, that.lastLogin) && Objects.equals(enterpriseStatus, that.enterpriseStatus) && Objects.equals(safeCode, that.safeCode) && Objects.equals(phoneSta, that.phoneSta) && Objects.equals(emailSta, that.emailSta) && Objects.equals(infoSta, that.infoSta) && Objects.equals(lastEnterpriseId, that.lastEnterpriseId) && Objects.equals(headImgUrl, that.headImgUrl);
	}

	@Override
	public int hashCode() {
		return Objects.hash(id, code, username, loginName, password, realName, userEmail, userPhone, userBrithday, userSex, realStatus, lastLogin, enterpriseStatus, safeCode, phoneSta, emailSta, infoSta, lastEnterpriseId, headImgUrl);
	}
}
